package com.exrobot.module.rbt.controller.admin.order.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.exrobot.module.rbt.dal.dataobject.orderitem.OrderItemDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 食堂信息新增/修改 Request VO")
@Data
public class OrderSaveReqVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2423")
    private Long id;

    @Schema(description = "订单类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer orderType;

    @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "订单号不能为空")
    private String orderSn;

    @Schema(description = "餐厅编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "餐厅编码不能为空")
    private Long canteenSn;

    @Schema(description = "菜单SN")
    private Long menuSn;

    @Schema(description = "存餐验证吗", requiredMode = Schema.RequiredMode.REQUIRED)
    private String saveCode;

    @Schema(description = "取餐验证吗", requiredMode = Schema.RequiredMode.REQUIRED)
    private String checkCode;

    @Schema(description = "配送点")
    private String point;

    @Schema(description = "配送点位（商户号）", requiredMode = Schema.RequiredMode.REQUIRED)
    private String member;

    @Schema(description = "客户电话")
    private String mobile;

    @Schema(description = "状态(0:未配送，5:已分配，10:完成)", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer status;

    @Schema(description = "订单时间")
    private LocalDateTime orderTime;

    @Schema(description = "订单明细")
    private List<OrderItemDO> itemDOList;

}